package com.bridgeintelligent.tag.mapper;

import com.bridgeintelligent.tag.webserver.dim.mgmt.api.*;
import com.bridgeintelligent.tag.webserver.dim.mgmt.api.vo.CustomersDownloadVO;
import com.bridgeintelligent.tag.webserver.dim.mgmt.api.vo.IndexDimCatalogVO;
import com.bridgeintelligent.tag.webserver.dim.mgmt.api.vo.IndexMonitorVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @description
 * @author: grp 2021-01-06 10:41
 **/
@Mapper
public interface IndexMapper {
    /**
     * 首页一级目录标签数
     * @return
     */
    List<IndexDimCatalogVO> dimCatalog();

    /**
     * 统计
     * @return
     */
    List<IndexDimCatalogVO> countDimByCatalog();

    /**
     * 查询前20个标签的数量
     * @return
     */
    List<IndexDimCatalogVO> dimUseNum(Map<String, Object> param);

    /**
     * 根据目录Id查找标签列表
     * @param catalogId
     * @return
     */
    List<DimData> findDimsByCatalogId(@Param("catalog_id") String catalogId);


    /**
     * 根据目录Id查找标签列表
     * @param catalogIds
     * @return
     */
    List<DimData> findDimsByCatalogIds(@Param("ids") List<DimCatalog> catalogIds);

    /**
     * 客群下载次数统计
     * @return
     */
    List<CustomersDownloadVO> countDownloads();

    /**
     * @param list
     * 最新日期的监测数据
     * @return
     */
    List<IndexMonitorVO> countLabelMonitorDate(List<String> list);

    /**
     * 获取检查数据
     * @param list
     * @return
     */
    List<CustJiance> getJianceByFlag(List<String> list);


    /**
     * 监控统计的历史数据
     * @return
     */
    IndexMonitorVO findHistoryData(String flag);

    /**
     * 获取最新数据
     * @return
     */
    CustJiance findCurrentData(String flag);
}
